Networks have enhanced our ability to communicate and access information by allowing one personal computer to communicate over a network (or network connection) with another personal computer and/or other networking devices, using electronic messages. When transferring an electronic message between personal computers or networking devices, the electronic message will often pass through a protocol stack that performs operations on the data within the electronic message (for example, packetizing, routing and flow control).
The first major version of addressing structure, Internet Protocol Version 4 (IPv4), is still the dominant protocol of the Internet, although the successor, Internet Protocol Version 6 (IPv6) is being deployed actively worldwide. The IPv6 network protocol provides that IPv6 hosts or host devices (for example, image forming apparatuses and other devices) can configure themselves automatically (i.e., stateless address autoconfiguration) when connected to an IPv6 network using ICMPv6 neighbor discovery messages (i.e., Neighbor Discovery Protocol or NDP).
IPv6 addresses are represented as eight groups of four hexadecimal digits with the groups being separated by colons. The IPv6 packet has two parts, a header and a payload. The header consists of a fixed portion followed by optional extensions to implement special features. The fixed header occupies the first 40 octets (320 bits) of the IPv6 packet and includes the source and destination addresses, traffic classification options, a hop counter, and the type of the optional extension or payload, which follows the header. Extension headers carry options that can be used for special treatment of a packet in the network, for example, for routing, fragmentation, and for security using the Internet Protocol Security (IPsec) framework.
When first connecting to a network, an IPv6 host (or node) sends a link-local multicast neighbor solicitation request advertising its tentative link-local address for duplicate address detection (dad), and if no problem is encountered, the host uses the link-local address. The router solicitations are sent (or router advertisements are received depending on timing) to obtain network-layer configuration parameters, and routers respond to such a request with a router advertisement packet that contains network-layer configuration parameters.